﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000DF1 RID: 3569
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class Relic : IMessage<Relic>, IMessage, IEquatable<Relic>, IDeepCloneable<Relic>, IBufferMessage
	{
		// Token: 0x17002D49 RID: 11593
		// (get) Token: 0x0600A022 RID: 40994 RVA: 0x001AC154 File Offset: 0x001AA354
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<Relic> Parser
		{
			get
			{
				return Relic._parser;
			}
		}

		// Token: 0x17002D4A RID: 11594
		// (get) Token: 0x0600A023 RID: 40995 RVA: 0x001AC15B File Offset: 0x001AA35B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RelicReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002D4B RID: 11595
		// (get) Token: 0x0600A024 RID: 40996 RVA: 0x001AC16D File Offset: 0x001AA36D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return Relic.Descriptor;
			}
		}

		// Token: 0x0600A025 RID: 40997 RVA: 0x001AC174 File Offset: 0x001AA374
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Relic()
		{
		}

		// Token: 0x0600A026 RID: 40998 RVA: 0x001AC188 File Offset: 0x001AA388
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Relic(Relic other) : this()
		{
			this.exp_ = other.exp_;
			this.tid_ = other.tid_;
			this.uniqueId_ = other.uniqueId_;
			this.dressAvatarId_ = other.dressAvatarId_;
			this.mainAffixId_ = other.mainAffixId_;
			this.level_ = other.level_;
			this.subAffixList_ = other.subAffixList_.Clone();
			this.isDiscarded_ = other.isDiscarded_;
			this.isProtected_ = other.isProtected_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600A027 RID: 40999 RVA: 0x001AC21D File Offset: 0x001AA41D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Relic Clone()
		{
			return new Relic(this);
		}

		// Token: 0x17002D4C RID: 11596
		// (get) Token: 0x0600A028 RID: 41000 RVA: 0x001AC225 File Offset: 0x001AA425
		// (set) Token: 0x0600A029 RID: 41001 RVA: 0x001AC22D File Offset: 0x001AA42D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Exp
		{
			get
			{
				return this.exp_;
			}
			set
			{
				this.exp_ = value;
			}
		}

		// Token: 0x17002D4D RID: 11597
		// (get) Token: 0x0600A02A RID: 41002 RVA: 0x001AC236 File Offset: 0x001AA436
		// (set) Token: 0x0600A02B RID: 41003 RVA: 0x001AC23E File Offset: 0x001AA43E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Tid
		{
			get
			{
				return this.tid_;
			}
			set
			{
				this.tid_ = value;
			}
		}

		// Token: 0x17002D4E RID: 11598
		// (get) Token: 0x0600A02C RID: 41004 RVA: 0x001AC247 File Offset: 0x001AA447
		// (set) Token: 0x0600A02D RID: 41005 RVA: 0x001AC24F File Offset: 0x001AA44F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint UniqueId
		{
			get
			{
				return this.uniqueId_;
			}
			set
			{
				this.uniqueId_ = value;
			}
		}

		// Token: 0x17002D4F RID: 11599
		// (get) Token: 0x0600A02E RID: 41006 RVA: 0x001AC258 File Offset: 0x001AA458
		// (set) Token: 0x0600A02F RID: 41007 RVA: 0x001AC260 File Offset: 0x001AA460
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint DressAvatarId
		{
			get
			{
				return this.dressAvatarId_;
			}
			set
			{
				this.dressAvatarId_ = value;
			}
		}

		// Token: 0x17002D50 RID: 11600
		// (get) Token: 0x0600A030 RID: 41008 RVA: 0x001AC269 File Offset: 0x001AA469
		// (set) Token: 0x0600A031 RID: 41009 RVA: 0x001AC271 File Offset: 0x001AA471
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint MainAffixId
		{
			get
			{
				return this.mainAffixId_;
			}
			set
			{
				this.mainAffixId_ = value;
			}
		}

		// Token: 0x17002D51 RID: 11601
		// (get) Token: 0x0600A032 RID: 41010 RVA: 0x001AC27A File Offset: 0x001AA47A
		// (set) Token: 0x0600A033 RID: 41011 RVA: 0x001AC282 File Offset: 0x001AA482
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Level
		{
			get
			{
				return this.level_;
			}
			set
			{
				this.level_ = value;
			}
		}

		// Token: 0x17002D52 RID: 11602
		// (get) Token: 0x0600A034 RID: 41012 RVA: 0x001AC28B File Offset: 0x001AA48B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RelicAffix> SubAffixList
		{
			get
			{
				return this.subAffixList_;
			}
		}

		// Token: 0x17002D53 RID: 11603
		// (get) Token: 0x0600A035 RID: 41013 RVA: 0x001AC293 File Offset: 0x001AA493
		// (set) Token: 0x0600A036 RID: 41014 RVA: 0x001AC29B File Offset: 0x001AA49B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsDiscarded
		{
			get
			{
				return this.isDiscarded_;
			}
			set
			{
				this.isDiscarded_ = value;
			}
		}

		// Token: 0x17002D54 RID: 11604
		// (get) Token: 0x0600A037 RID: 41015 RVA: 0x001AC2A4 File Offset: 0x001AA4A4
		// (set) Token: 0x0600A038 RID: 41016 RVA: 0x001AC2AC File Offset: 0x001AA4AC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsProtected
		{
			get
			{
				return this.isProtected_;
			}
			set
			{
				this.isProtected_ = value;
			}
		}

		// Token: 0x0600A039 RID: 41017 RVA: 0x001AC2B5 File Offset: 0x001AA4B5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as Relic);
		}

		// Token: 0x0600A03A RID: 41018 RVA: 0x001AC2C4 File Offset: 0x001AA4C4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(Relic other)
		{
			return other != null && (other == this || (this.Exp == other.Exp && this.Tid == other.Tid && this.UniqueId == other.UniqueId && this.DressAvatarId == other.DressAvatarId && this.MainAffixId == other.MainAffixId && this.Level == other.Level && this.subAffixList_.Equals(other.subAffixList_) && this.IsDiscarded == other.IsDiscarded && this.IsProtected == other.IsProtected && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600A03B RID: 41019 RVA: 0x001AC384 File Offset: 0x001AA584
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Exp != 0U)
			{
				num ^= this.Exp.GetHashCode();
			}
			if (this.Tid != 0U)
			{
				num ^= this.Tid.GetHashCode();
			}
			if (this.UniqueId != 0U)
			{
				num ^= this.UniqueId.GetHashCode();
			}
			if (this.DressAvatarId != 0U)
			{
				num ^= this.DressAvatarId.GetHashCode();
			}
			if (this.MainAffixId != 0U)
			{
				num ^= this.MainAffixId.GetHashCode();
			}
			if (this.Level != 0U)
			{
				num ^= this.Level.GetHashCode();
			}
			num ^= this.subAffixList_.GetHashCode();
			if (this.IsDiscarded)
			{
				num ^= this.IsDiscarded.GetHashCode();
			}
			if (this.IsProtected)
			{
				num ^= this.IsProtected.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600A03C RID: 41020 RVA: 0x001AC480 File Offset: 0x001AA680
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600A03D RID: 41021 RVA: 0x001AC488 File Offset: 0x001AA688
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600A03E RID: 41022 RVA: 0x001AC494 File Offset: 0x001AA694
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Tid != 0U)
			{
				output.WriteRawTag(16);
				output.WriteUInt32(this.Tid);
			}
			if (this.Exp != 0U)
			{
				output.WriteRawTag(32);
				output.WriteUInt32(this.Exp);
			}
			if (this.UniqueId != 0U)
			{
				output.WriteRawTag(56);
				output.WriteUInt32(this.UniqueId);
			}
			if (this.IsProtected)
			{
				output.WriteRawTag(64);
				output.WriteBool(this.IsProtected);
			}
			if (this.IsDiscarded)
			{
				output.WriteRawTag(72);
				output.WriteBool(this.IsDiscarded);
			}
			if (this.DressAvatarId != 0U)
			{
				output.WriteRawTag(88);
				output.WriteUInt32(this.DressAvatarId);
			}
			if (this.Level != 0U)
			{
				output.WriteRawTag(96);
				output.WriteUInt32(this.Level);
			}
			this.subAffixList_.WriteTo(ref output, Relic._repeated_subAffixList_codec);
			if (this.MainAffixId != 0U)
			{
				output.WriteRawTag(112);
				output.WriteUInt32(this.MainAffixId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600A03F RID: 41023 RVA: 0x001AC5A8 File Offset: 0x001AA7A8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Exp != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Exp);
			}
			if (this.Tid != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Tid);
			}
			if (this.UniqueId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.UniqueId);
			}
			if (this.DressAvatarId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.DressAvatarId);
			}
			if (this.MainAffixId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.MainAffixId);
			}
			if (this.Level != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Level);
			}
			num += this.subAffixList_.CalculateSize(Relic._repeated_subAffixList_codec);
			if (this.IsDiscarded)
			{
				num += 2;
			}
			if (this.IsProtected)
			{
				num += 2;
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600A040 RID: 41024 RVA: 0x001AC68C File Offset: 0x001AA88C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(Relic other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Exp != 0U)
			{
				this.Exp = other.Exp;
			}
			if (other.Tid != 0U)
			{
				this.Tid = other.Tid;
			}
			if (other.UniqueId != 0U)
			{
				this.UniqueId = other.UniqueId;
			}
			if (other.DressAvatarId != 0U)
			{
				this.DressAvatarId = other.DressAvatarId;
			}
			if (other.MainAffixId != 0U)
			{
				this.MainAffixId = other.MainAffixId;
			}
			if (other.Level != 0U)
			{
				this.Level = other.Level;
			}
			this.subAffixList_.Add(other.subAffixList_);
			if (other.IsDiscarded)
			{
				this.IsDiscarded = other.IsDiscarded;
			}
			if (other.IsProtected)
			{
				this.IsProtected = other.IsProtected;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600A041 RID: 41025 RVA: 0x001AC765 File Offset: 0x001AA965
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600A042 RID: 41026 RVA: 0x001AC770 File Offset: 0x001AA970
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 64U)
				{
					if (num <= 32U)
					{
						if (num == 16U)
						{
							this.Tid = input.ReadUInt32();
							continue;
						}
						if (num == 32U)
						{
							this.Exp = input.ReadUInt32();
							continue;
						}
					}
					else
					{
						if (num == 56U)
						{
							this.UniqueId = input.ReadUInt32();
							continue;
						}
						if (num == 64U)
						{
							this.IsProtected = input.ReadBool();
							continue;
						}
					}
				}
				else if (num <= 88U)
				{
					if (num == 72U)
					{
						this.IsDiscarded = input.ReadBool();
						continue;
					}
					if (num == 88U)
					{
						this.DressAvatarId = input.ReadUInt32();
						continue;
					}
				}
				else
				{
					if (num == 96U)
					{
						this.Level = input.ReadUInt32();
						continue;
					}
					if (num == 106U)
					{
						this.subAffixList_.AddEntriesFrom(ref input, Relic._repeated_subAffixList_codec);
						continue;
					}
					if (num == 112U)
					{
						this.MainAffixId = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04003DBC RID: 15804
		private static readonly MessageParser<Relic> _parser = new MessageParser<Relic>(() => new Relic());

		// Token: 0x04003DBD RID: 15805
		private UnknownFieldSet _unknownFields;

		// Token: 0x04003DBE RID: 15806
		public const int ExpFieldNumber = 4;

		// Token: 0x04003DBF RID: 15807
		private uint exp_;

		// Token: 0x04003DC0 RID: 15808
		public const int TidFieldNumber = 2;

		// Token: 0x04003DC1 RID: 15809
		private uint tid_;

		// Token: 0x04003DC2 RID: 15810
		public const int UniqueIdFieldNumber = 7;

		// Token: 0x04003DC3 RID: 15811
		private uint uniqueId_;

		// Token: 0x04003DC4 RID: 15812
		public const int DressAvatarIdFieldNumber = 11;

		// Token: 0x04003DC5 RID: 15813
		private uint dressAvatarId_;

		// Token: 0x04003DC6 RID: 15814
		public const int MainAffixIdFieldNumber = 14;

		// Token: 0x04003DC7 RID: 15815
		private uint mainAffixId_;

		// Token: 0x04003DC8 RID: 15816
		public const int LevelFieldNumber = 12;

		// Token: 0x04003DC9 RID: 15817
		private uint level_;

		// Token: 0x04003DCA RID: 15818
		public const int SubAffixListFieldNumber = 13;

		// Token: 0x04003DCB RID: 15819
		private static readonly FieldCodec<RelicAffix> _repeated_subAffixList_codec = FieldCodec.ForMessage<RelicAffix>(106U, RelicAffix.Parser);

		// Token: 0x04003DCC RID: 15820
		private readonly RepeatedField<RelicAffix> subAffixList_ = new RepeatedField<RelicAffix>();

		// Token: 0x04003DCD RID: 15821
		public const int IsDiscardedFieldNumber = 9;

		// Token: 0x04003DCE RID: 15822
		private bool isDiscarded_;

		// Token: 0x04003DCF RID: 15823
		public const int IsProtectedFieldNumber = 8;

		// Token: 0x04003DD0 RID: 15824
		private bool isProtected_;
	}
}
